﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Workflows.Components.Entities.Persons
{
    [Serializable]
    public class Person:Entity
    {
        #region props
        private string _PersonID;
        /// <summary></summary>
        public string PersonID
        {
            get
            {
                return this._PersonID;
            }
            set
            {
                this._PersonID = value;
            }
        }

        private string _LastName;
        /// <summary></summary>
        public string LastName
        {
            get
            {
                return this._LastName;
            }
            set
            {
                this._LastName = value;
            }
        }

        private string _FirstName;
        /// <summary></summary>
        public string FirstName
        {
            get
            {
                return this._FirstName;
            }
            set
            {
                this._FirstName = value;
            }
        }

        private string _MidName;
        /// <summary></summary>
        public string MidName
        {
            get
            {
                return this._MidName;
            }
            set
            {
                this._MidName = value;
            }
        }

        private string _Prefix;
        /// <summary></summary>
        public string Prefix
        {
            get
            {
                return this._Prefix;
            }
            set
            {
                this._Prefix = value;
            }
        }

        private string _Suffix;
        /// <summary></summary>
        public string Suffix
        {
            get
            {
                return this._Suffix;
            }
            set
            {
                this._Suffix = value;
            }
        }

        private string _Title;
        /// <summary></summary>
        public string Title
        {
            get
            {
                return this._Title;
            }
            set
            {
                this._Title = value;
            }
        }

        private DateTime _BirthDate;
        /// <summary></summary>
        public DateTime BirthDate
        {
            get
            {
                return this._BirthDate;
            }
            set
            {
                this._BirthDate = value;
            }
        }

        private Sex _Sex;
        /// <summary></summary>
        public Sex Sex
        {
            get
            {
                return this._Sex;
            }
            set
            {
                this._Sex = value;
            }
        }

        private string _SSN;
        /// <summary></summary>
        public string SSN
        {
            get
            {
                return this._SSN;
            }
            set
            {
                this._SSN = value;
            }
        }
        #endregion

        public Person(string personID)
            : base(personID,new Dictionary<string, object>())
        {
            this._PersonID = personID;
        }
    }
}
